#ifndef _PHYSICSWORLD_H
#define _PHYSICSWORLD_H

#include <Box2D/Box2D.h>

#include "physics_listener.h"


//definitions for physics world <-> window projection coordinate transformation
#define PIXELS_PER_METER	30.0f
#define METERS_PER_PIXEL	(1.0f/PIXELS_PER_METER)
//shorthand version
#define PPM PIXELS_PER_METER
#define MPP METERS_PER_PIXEL



//Define the Singleton class Physics world
//Is a Singleton since only one physical world
//can exist within an application
class PhysicsWorld
{
public:
		PhysicsWorld();
		~PhysicsWorld();

		void Update_Logic(float);

		//Box2d World
		b2World *world;
		
		int velocityIterations;
		int positionIterations;	


		//physics listener
		PhysicsListener *physicsListener;

};


extern PhysicsWorld physicsManager;

#endif